/**
 *	The NeuroCoSA Toolkit
 *	Copyright (C) 2003-6 Stuart Meikle.
 *
 *	This is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU Lesser General Public
 *	License as published by the Free Software Foundation; either
 *	version 2.1 of the License, or (at your option) any later version.
 *
 *	This library is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *	Lesser General Public License for more details.
 *
 * @author	Stuart Meikle
 * @version	2006-halloween(mk2)
 * @license	LGPL
 */
package org.stumeikle.NeuroCoSA;


// Simpler now. No vesicle packages. Vesicles contain a signal strength
// too. But noooo data. 

/** 
 * Probe vesicle. A special vesicle type which props both learn and drive signals
 */
public class ProbeVesicle extends Vesicle
{
    double	iLearnStrength;
    double	iDriveStrength;
    boolean	iMode;

	public ProbeVesicle()
	{
	    iVtype=SPECIAL_VESICLE;
	    iLearnStrength = iDriveStrength =0.0;
	    iMode = false;
	}
	public ProbeVesicle(int t)
	{
	    iVtype=SPECIAL_VESICLE;
	    iLearnStrength = iDriveStrength =0.0;
	    iMode = false;
	}

	public double	getSignalStrength() 
	{
	    if (iMode)	return iDriveStrength;
	    else        return iLearnStrength; 
	}
	public void	setSignalStrength(double d) 
	{ 
	    if (iMode)	iDriveStrength=d; 
	    else	iLearnStrength=d;
	}

    public void	setLearnMode()
    { iMode = false; }
    public void setDriveMode()
    { iMode = true; }
    
    public void	setDriveStrength( double d )
    {
	iDriveStrength =d ; 
    }
    public double getDriveSigStr()
    { return iDriveStrength; }
    public void	setLearnStrength( double d )
    { iLearnStrength = d; }
    public double getLearnSigStr()
    { return iLearnStrength; }
}

